0 :REM---SUDOKU-64, DIRK BREITINGER 1 :POKE809,241:POKE808,177:ON-(S>.)GOTO14:GOTO5000 9 : 10 :GOTO26,RESET 11 :RETURN 12 :A$="0:SUDUKU":GOSUB910:IFC<60GOTO14 13 :OPEN1,8,15,"S"+A$:CLOSE1:SAVEA$,8 14 :GOSUB9000:GOTO1000 19 : 20 :POKE198,.:WAIT198,7 21 :GETA$:IFA$=""THEN:D=.:RETURN 22 :D=ASC(A$):ON-(D=148)-2*(D=169)GOTO27,12:IFD<>131THENRETURN 26 :POKE53280,6:POKE53281,6:PRINT"[146][147]ENDE" 27 :GOSUB940:PRINT" ";:SYS64789:SYS58451:SYS42107 29 : 30 I=FNR(N):C=A%(I)-I*(A%(I)=.)-1:A%(I)=A%(N)-N*(A%(N)=.):N=N-1:RETURN 31 :POKE19,1:PRINT"[146]"TAB(PEEK(213)):POKE19,.:RETURN 32 :POKE211,X:POKE214,Y:SYS58640 33 :POKE646,W:POKE199,Z:RETURN 34 FORB=B*97TO.STEP-1:B=B*-(PEEK(198)=.):NEXT:GOTO21 35 :OPEN1,0:INPUT#1,A$:CLOSE1:A=VAL(A$):RETURN 38 :B=PEEK(53266)+RND(-TI)AND7:FORJ=.TOB:B=RND(.):NEXT:RETURN 39 : 40 :A$="":GOSUB32:REM---EINGABE 41 :POKE198,.:PRINTA$;:X=POS(.):A=PEEK(209)+PEEK(210)*256+X:B=PEEK(A) 42 :C=BAND127:IF(C>31ANDC<49)OR(C>57ANDC<96)GOTO41 43 :C=PEEK(A):Y=PEEK(214):POKEA,(CAND127)-128*(C<127):I=. 44 :GETA$:IFA$=""THEN:I=I+1:ON1-(I<18)GOTO43,44 45 :GOSUB22:POKEA,B:C=DAND127 46 :IFC=29THEN:ON1-(D=29ANDX=24)-(D=157ANDX=.)GOTO41,43 47 :IFC=17THEN:ON1-(Y=24ANDD=17)-(D=145ANDY=2)GOTO41,43 48 :POKE780,D:SYS59595:IFPEEK(781)<16GOTO41,FARBE 49 : 50 :ON1-((D>48ANDD<58)ORC=32ORC=20)GOTO54:GOSUB54:REMIFD(I+10,J)=D(I+20,J)GOTO40 51 :IFC>48THEN:PRINTA$"[157]";:ONKGOTO40:GOTO57:ZAHL 52 :PRINTG$LEFT$(L$,K)"[160][157]";:D=160:ONKGOTO40:GOTO57:WEG 53 : 54 :I=Y/2-1:J=X/2-1:K=-(I<1ORI>=10ORJ<1ORJ>9) 55 :W=PEEK(646):Z=PEEK(199):RETURN 56 : 57 :C=.:ON-(D<>D(I+10,J)ANDI<>I%(IJ-1)ANDJ<>J%(IJ-1))GOSUB415 58 :D(I,J)=D:GOSUB60:GOTO40 59 : 60 :REM---PRUEFEN 61 :D=VAL(A$):B=VAL(CHR$(BAND127)):E=E+(B=.ANDD>.)-(B>.ANDD=.) 62 :F=F-(D+48=D(I+10,J)ANDD<>B)+(B+48=D(I+10,J)ANDD<>B)::IFF<81THEN:RETURN 63 :X=12:Y=13 64 :B=40:GOSUB75:FORB=.TO16:A$="[155]":ON1+(BAND1)GOSUB65,66:FORD=.TO300:NEXT:NEXT: 65 :A$="[155][146]":REM--ANZEIGE 66 :POKE214,21:PRINTR$TAB(26)A$;:POKE213,79 67 :IFF=81THEN:PRINT"[157] ALLES GEL[ST [157]";:GOTO69 68 :PRINT"GEL[ST : "RIGHT$(STR$(F+100),2)" "; 69 :C=81-F-E:PRINTSPC(27)"[146]FEHLER : "RIGHT$(STR$(C+100),2)" ";:RETURN 70 :C=11:D=.:B=20:REM--WART+EFFEKT 71 :POKE198,.:A=53280:C=D+C:I=PEEK(A) 72 FORB=B*97TO.STEP-1:SYS65374:POKEA+.,D:D=C-D:POKEA,D:B=B*-(PEEK(198)=.):NEXT 73 :POKEA,I:GOTO21:D=C-D 74 : 75 :A=53280:C=PEEK(A):FORB=BTO.STEP-1:POKEA,FNR(14):NEXT:POKEA,C:RETURN 79 : 90 B=228:REM--SCHIRM-LOESCH 92 :C=PEEK(648):POKEC*256+1000,B:POKE88,.:POKE89,C+3:POKE90,1:POKE91,C+3 93 POKE781,4:POKE782,232:POKE212,.:PRINT"[147]";:SYS41964:RETURN 94 : 95 :N=81:I=FNP(49)-171:POKE50,I/256:POKE49,I-PEEK(50)*256:DIMA%(N):RETURN 98 : 99 : 198 : 199 : 200 :REM---LOESBAR??? 201 :A=B(B):E=1:F=1:IFH>20GOTO205 202 :C=D(.,J):IFFNB(C)+FNB(C/32)>7THENRETURN 203 :C=D(I,.):IFFNB(C)+FNB(C/32)>7THENRETURN 204 :C=D(FNA(.),10):IFFNB(C)+FNB(C/32)>7THENRETURN 205 :FORK=1TO9:IFETHEN:IFD(K,J)>9ANDI<>KTHEN:E=SGN(D(K,.)ANDA) 206 :IFFTHEN:IFD(I,K)>9ANDJ<>KTHEN:F=SGN(D(.,K)ANDA) 207 :NEXT:RETURN 208 : 209 : 250 :IFV<1GOTO11:--SUDUKU-AUSGEBEN 251 :GOSUB1190:GOSUB65 252 :P=I:O=J:PRINT""G$L$R$G$L$R$G$M$B$G$M$; 253 :FORI=1TO9:PRINTSPC(15)G$M$H$;:FORJ=1TO7STEP3 254 :PRINTG$CHR$(D(I,J))"[221]"G$CHR$(D(I,J+1))"[221]"CHR$(D(I,J+2))H$;:NEXT 255 :IFI/3>INT(I/3)THEN:PRINTG$M$SPC(15)G$M$H$I$H$I$H$I$H$G$M$;:GOTO257 256 :PRINTG$M$SPC(15)G$M$B$LEFT$("[157][146][169]",7AND(I=9))G$M$; 257 :NEXT:PRINTR$G$L$R$G$L$"";:I=P:J=O:RETURN 258 : 259 : 300 :REM--ERZEUGEN 301 :GOSUB38:GOSUB554,LS:FORI=1TO9:N=. 302 :FORJ=1TO9:PRINTF$""TAB(20)I+J/10;:IFPEEK(198)THEN:I=99:J=I:GOTO306 303 :M=FNA(.):C=(D(I,.)ORD(.,J)ORD(M,10)):IFC=511THEN:GOSUB330:GOTO302 304 :C=511-C:GOSUB310:D(I,J)=B+48 305 :B=B(B):D(I,.)=D(I,.)ORB:D(.,J)=D(.,J)ORB:D(M,10)=D(M,10)ORB 306 NEXT:NEXT:IFI>90THEN:GOSUB550:GOSUB542 307 :GOSUB530,KOPIE:GOTO402,DECK 309 : 310 :B=FNR(9):ONBGOTO311,312,313,314,315,316,317,318,319 311 IFCAND1THEN:B=1:RETURN 312 IFCAND2THEN:B=2:RETURN 313 IFCAND4THEN:B=3:RETURN 314 IFCAND8THEN:B=4:RETURN 315 IFCAND16THEN:B=5:RETURN 316 IFCAND32THEN:B=6:RETURN 317 IFCAND64THEN:B=7:RETURN 318 IFCAND128THEN:B=8:RETURN 319 IFCAND256THEN:B=9:RETURN 320 GOTO311 329 : 330 :N=N+1:REM--ZEILENLOESCH 332 :IFN>29THEN:GOSUB333:I=I-1:J=10:N=. 333 :IFJ<2THENRETURN 334 :D(I,.)=.:FORJ=J-1TO1STEP-1:B=511-B(D(I,J)-48):GOSUB336:NEXT:J=1:RETURN 336 :D(.,J)=D(.,J)ANDB:M=FNA(.):D(M,10)=D(M,10)ANDB:RETURN:--BIT-LOESCH 339 : 399 : 400 :REM--ZUDECKEN 401 :GOSUB532,KOPY:C=511:ON-(S>.)GOSUB565 402 :POKE198,.:D(.,.)=.:IJ=.:GOSUB38:S=INT(S):ON-(S<.)GOTO570:IFS>81THEN:S=81 403 :GOSUB95:FORH=1TOS:GOSUB30:I=INT(C/9):J=C-I*9+1:I=I+1:B=D(I,J) 404 :GOSUB410:H=H+(C=.)+S*-(N<1ORPEEK(198)>.):NEXT 405 : 407 :GOSUB408:GOTO250,AUSGABE 408 :E=INT(ABS(D(.,.))):F=81-E:RETURN 409 : 410 :REM--ABDECKEN 411 :GOSUB420:IFC=.THENRETURN 412 :B=511-B:D(.,J)=D(.,J)ANDB:D(I,.)=D(I,.)ANDB:D(M,10)=D(M,10)ANDB 413 IFVTHEN:PRINTF$""TAB(14)IJ+1"[157] "; 414 :D(I,J)=FNR(26)+64:D(I+20,J)=D(I,J):D(.,.)=D(.,.)+1 415 :IJ=IJ-(IJ<81):I%(IJ)=I:J%(IJ)=J:E%(IJ)=C:RETURN 419 : 420 :REM---LOESBAR:ANZAHL>7, 421 :B=B(B-48):M=INT(FNA(.)):C=.:REM:IFH>20GOTO425 422 :IFD(.,J)=511THEN:C=1:RETURN 423 :IFD(I,.)=511THEN:C=2:RETURN 424 :IFD(M,10)=511THEN:C=3:RETURN 425 :IF(D(.,J)ORD(I,.)ORD(M,10))=511THEN:C=4:RETURN 428 : 429 : 430 :A=M-INT((M-1)/3)*3:D=1:REM--SENKRECHT 431 IF((D(A,10)ANDB)>.ANDA<>M)GOTO434 432 C=((D(D,.)ANDB)>.ORD(D,J)<64)+((D(D+1,.)ANDB)>.ORD(D+1,J)<64) 433 C=C+((D(D+2,.)ANDB)>.ORD(D+2,J)<64):IFC>-3GOTO440 434 IFD<5THEN:A=A+3:D=D+3:GOTO431 435 :C=5:RETURN 439 : 440 :A=INT((M-1)/3)*3+1:D=1:REM--WAAGERECHT 441 IF((D(A,10)ANDB)>.ANDA<>M)GOTO444 442 C=((D(.,D)ANDB)>.ORD(I,D)<64)+((D(.,D+1)ANDB)>.ORD(I,D+1)<64) 443 C=C+((D(.,D+2)ANDB)>.ORD(I,D+2)<64):IFC>-3GOTO450 444 IFD<5THEN:A=A+1:D=D+3:GOTO441 445 :C=6:RETURN 449 : 450 :GOSUB480:F=A:REM---FELD 451 :IFD<>JTHEN:IFD(.,D)ANDBTHEN:A=AAND511-73 452 :IFD+1<>JTHENIFD(.,D+1)ANDBTHEN:A=AAND511-146 453 :IFD+2<>JTHENIFD(.,D+2)ANDBTHEN:A=AAND511-292 454 :IFA=.THEN:C=7:RETURN 455 :IFC<>ITHEN:IFD(C,.)ANDBTHEN:A=AAND511-7 456 :IFC+1<>ITHEN:IFD(C+1,.)ANDBTHEN:A=AAND511-56 457 :IFC+2<>ITHEN:IFD(C+2,.)ANDBTHEN:A=AAND511-448 458 :IFA=.THEN:C=7:RETURN: S:73,146,292,W:7,56,448 459 : 460 :F=A:E=D(M,10):REM---FELD+RESTFUELL 461 :IFD=JTHEN:IFFNC(D(.,D)ORE)+FNC(FAND73)=9THEN:A=AAND73 462 :IFD+1=JTHEN:IFFNC(D(.,D+1)ORE)+FNC(FAND146)=9THEN:A=AAND146 463 :IFD+2=JTHEN:IFFNC(D(.,D+2)ORE)+FNC(FAND292)=9THEN:A=AAND292 464 :IFA=.THEN:C=8:RETURN 465 :IFC=ITHEN:IFFNC(D(C,.)ORE)+FNC(FAND7)=9THEN:A=AAND7 466 :IFC+1=ITHEN:IFFNC(D(C+1,.)ORE)+FNC(FAND56)=9THEN:A=AAND56 467 :IFC+2=ITHEN:IFFNC(D(C+2,.)ORE)+FNC(FAND448)=9THEN:A=AAND448 468 :IFA=.THEN:C=8:RETURN 469 :C=.:RETURN: S:73,146,292,W:7,56,448 480 :REM--BITS:FELD3X3 481 :C=1+INT((I-1)/3)*3:D=1+INT((J-1)/3)*3 482 :A=-(D(C,D)>64)-2*(D(C,D+1)>64)-4*(D(C,D+2)>64) 483 :A=A-8*(D(C+1,D)>64)-16*(D(C+1,D+1)>64)-32*(D(C+1,D+2)>64) 484 :A=A-64*(D(C+2,D)>64)-128*(D(C+2,D+1)>64)-256*(D(C+2,D+2)>64):RETURN 485 GOSUB252:PRINT"[155]"TAB(25)I;J":"F"[157]:"A"[157]:";:GOTO20: 489 : 498 : 499 : 530 :REM--KOPIEREN 531 :FORI=1TO9:FORJ=1TO9:B=D(I,J):D(I+10,J)=B:D(I+20,J)=B:NEXT:NEXT:RETURN 532 FORI=1TO9:FORJ=1TO9:B=D(I+10,J):D(I,J)=B:D(I+20,J)=B:NEXT:NEXT:RETURN 533 :FORI=1TO9:FORJ=1TO9:D(I,J)=D(I+20,J):NEXT:NEXT:E=.:F=81:RETURN 534 FORI=1TO9:FORJ=1TO9:D(I,J)=D(I+10,J):NEXT:NEXT:F=81:E=.:RETURN 539 : 540 :S=-ABS(S):REM---TAUSCH 541 :GOSUB542:GOSUB400:GOTO407 542 :C=511:FORI=1TO9:GOSUB310:C=C-B(B):A%(B)=B:NEXT 543 :FORI=11TO19:FORJ=1TO9:B=D(I,J)-48:IFB>.ANDB<10THEN:D(I,J)=A%(B)+48 544 :NEXT:PRINTF$""TAB(20)I-10:NEXT:RETURN 549 : 550 :RESTORE:REM--LES 551 :FORI=1TO9:FORJ=1TO9:READA:D(I,J)=A+48:NEXT:NEXT:RETURN 554 :POKE49,PEEK(47):POKE50,PEEK(48) 555 :DIMD(30,10),B(10),I%(81),J%(81),E%(81),A%(81) 556 :B=1:FORI=1TO10:B(I)=B:B=B+B:NEXT:RETURN 558 : 559 : 560 :FORI=1TO9:FORJ=1TO9:D(I,J)=C:NEXT:NEXT:RETURN 565 :FORI=1TO9:D(I,.)=C:D(I,10)=C:D(.,I)=C:NEXT:RETURN 566 : 570 :C=.:REM--ZUDECKEN 571 :S=ABS(S):IFS>81THEN:S=81 572 :FORK=1TOS:I=FNR(9):J=FNR(9):IFD(I,J)<64THEN:GOSUB413:K=K+1 573 :K=K-1:NEXT:GOTO407 578 : 579 : 580 :REM--ABC WEG 581 :FORI=1TO9:FORJ=1TO9:IFD(I+20,J)>64THEN:D(I,J)=160 582 :NEXT:NEXT:GOTO407 583 : 584 :REM--FEHLER WEG 585 :FORI=1TO9:FORJ=1TO9:IFD(I,J)<>D(I+10,J)THEN:D(I,J)=160 586 :NEXT:NEXT:GOTO407 589 : 590 :GOSUB65:REM--MARKIEREN 591 :B=204:B=PEEK(648)*256+B::FORI=1TO9:FORJ=1TO9:C=(PEEK(B)AND127) 592 :IFC<>D(I+10,J)ANDC<>96THEN:POKEB,PEEK(B)AND127 593 :B=B+2:NEXT:B=B+62:NEXT:RETURN 598 : 599 : 600 :REM--AUSGABE-BEIWERTE 601 :ON(FA)GOTO611,612,613,614,615,616,617,618,619,620,621,622,623,624,625 610 :GOTO626:REM--FARBEN 611 :F$="[152]":G$="":C$="":D$="[155]":E$="[152]":F0=11:F1=9:GOTO640 612 :F$="[152]":G$="":C$="":D$="[155]":E$="[152]":F0=9:F1=9:GOTO640 613 :F$="[152]":G$="":C$="":D$="[155]":E$="[152]":F0=2:F1=9:GOTO640 614 :F$="[152]":G$="":C$="[129]":D$="[155]":E$="[152]":F0=9:F1=9:GOTO640 615 :F$="[152]":G$="":C$="[129]":D$="[155]":E$="[152]":F0=2:F1=9:GOTO640 616 :F$="[152]":G$="":C$="[129]":D$="[155]":E$="[152]":F0=8:F1=9:GOTO640 617 :F$="[152]":G$="":C$="[129]":D$="[155]":E$="[152]":F0=9:F1=11:GOTO640 618 :F$="[152]":G$="":C$="[154]":D$="[153]":E$="[152]":F0=11:F1=11:GOTO640 619 :F$="[152]":G$="":C$="[154]":D$="[153]":E$="[152]":F0=9:F1=11:GOTO640 620 :F$="[152]":G$="":C$="[154]":D$="[153]":E$="[152]":F0=15:F1=11:GOTO640 621 :F$="[152]":G$="":C$="[154]":D$="[153]":E$="[152]":F0=14:F1=11:GOTO640 622 :F$="[152]":G$="":C$="[155]":D$="[154]":E$="":F0=1:F1=11:GOTO640 623 :F$="[152]":G$="":C$="[155]":D$="[154]":E$="":F0=11:F1=11:GOTO640 624 :F$="[152]":G$="":C$="[155]":D$="":E$="[152]":F0=11:F1=11:GOTO640 625 :F$="[152]":G$="":C$="[155]":D$="":E$="[152]":F0=1:F1=11:GOTO640 626 :F$="[152]":G$="":C$="":D$="[155]":E$="[152]":F0=1:F1=11:GOTO640 640 :REM--AUSGABE-BEIWERTE 642 :L$=C$+"[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]" 643 :B$=F$+" ":I$=G$+"-+-+-":H$=F$+" ":M$=LEFT$(L$,5) 644 :R$=CHR$(13):RETURN 649 : 650 :REM---FARB-EINSTELLUNG 651 :DEFFNA(A)=PEEK(59610+(PEEK(A)AND15)) 652 :C=29:PRINT""TAB(C)"[157][146]-"G$" "F$" "LEFT$(M$,3)D$" "E$" "; 653 :PRINTCHR$(FNA(53281))" "CHR$(FNA(53280))" [146]-"; 654 :PRINT""TAB(30):GOSUB35 655 :B=55296+C:G$=CHR$(FNA(B))+"":F$=CHR$(FNA(B+1))+"" 656 :C$=CHR$(FNA(B+2)):D$=CHR$(FNA(B+3)):E$=CHR$(FNA(B+4)) 657 :F1=PEEK(B+5):F0=PEEK(B+6):GOTO642 658 : 659 : 900 :J=1:REM--DISK AUS,WEG 901 :OPEN1,8,15:CLOSE1:IFSTTHEN:RETURN 902 :OPEN1,8,15,"I":INPUT#1,J:CLOSE1:RETURN 910 :C=.:REM--BLOCKS 911 :POKE768,61:OPEN1,8,.,"$"+A$:POKE768,139:POKE781,1:SYS65478:IFSTGOTO915 912 :J=17:GOSUB916:C=A+B*256:J=.:GOSUB916:IFA<>66THEN:J=14:GOSUB916:C=C+A+B*256 915 :SYS65484:CLOSE1:RETURN 916 :FORJ=-JTO.:SYS61758:A=PEEK(780):SYS61758:NEXT:B=PEEK(780):RETURN 919 : 940 :REM---VAR-INIT/SAVE 941 PRINT"";:::POKE45,226:POKE46,059:POKE47,001:POKE48,061:POKE49,157:POKE50,070 942 :A=PEEK(113)+PEEK(114)*256:POKEA+2,142:RETURN 944 :GOSUB940:GOSUB942:POKEA+2,58:FORI=45TO50:A=A+3+LEN(STR$(PEEK(I)+1000)) 945 FORJ=.TO2:POKEA+J,PEEK(257+J):NEXTJ,I:POKE45,PEEK(49):POKE46,PEEK(50):RUN12 949 : 999 : 1000 :REM---HAUPT-PROGRAMM 1010 :POKE53265,11:PRINT"[150]"; 1100 :PRINT"[147]"L$R$L$F$" "D$"SUDOKU64:"F$" "D$LEFT$(L$,1)R$F$"[164][164][164][164][164][164][164][164][164][164][164]" 1120 A=26:PRINT"" 1130 :PRINTTAB(A)D$"(F1)NOCHMAL"SPC(28)E$"[146][163][163][163][163] [163][163][163][163][163][163][163]" 1131 :PRINTTAB(A)D$"(F3)ERZEUGEN"SPC(27)E$"[146][163][163][163][163] [163][163][163][163][163][163][163][163]" 1132 :PRINTTAB(A)D$"(F5)SPIELEN"SPC(28)E$"[146][163][163][163][163] [163][163][163][163][163][163][163]" 1133 :PRINTTAB(A)D$"(F7)PR@FEN "SPC(28)E$"[146][163][163][163][163] [163][163][163][163][163][163][163]" 1139 :POKE214,9 :PRINTD$ 1140 :PRINTTAB(A)"(A)[146]BRONZE" 1141 :PRINTTAB(A)"(B)[146]SILBER" 1142 :PRINTTAB(A)"(C)[146]GOLD" 1143 :PRINTTAB(A)"(D)[146]DECKZAHL" 1144 :PRINTTAB(A)"(E)[146]AUFDECKEN" 1145 :PRINTTAB(A)"(F)[146]MARKIEREN" 1146 :PRINTTAB(A)"(G)[146]ABC-WEG" 1147 :PRINTTAB(A)"(H)[146]ANLEITUNG" 1148 :PRINTTAB(A)"(O)[146]FARB-WAHL" 1149 :PRINTTAB(A)"(M)[146]ZEIG-TIPP" 1150 :PRINTTAB(A)"(@)[146]SPEICHERN" 1160 : 1180 :V=V+1:GOSUB250,SUDOKU 1181 :POKE53281,F1:POKE53280,F0:POKE53265,27 1182 :FORB=.TO59:NEXT:IFV=1THEN:B=30:GOSUB75 1185 :GOTO1200 1189 : 1190 :IFS>81ORS<1THEN:S=81 1191 :C=21:PRINTF$""TAB(C);S"[157] "TAB(C+1):RETURN 1199 : 1200 :X=12:Y=13:PRINTG$"[129]";:GOSUB55 1210 :GOSUB40::IFA$=""GOTO1200 1211 :IFA$="[133]"THEN:GOSUB533:V=1:GOSUB407:GOTO1182,NOCHMAL 1212 :IFA$="[134]"ORA$="[138]"THEN:ON1-(D>136)GOSUB300,540:GOTO1200:REM-ERZEUGEN 1213 :IFA$="[135]"ORA$="[139]"THEN:S=S*SGN(136-D):GOSUB400:GOTO1200:REM-SPIELEN 1214 :IFA$=R$ORA$="[136]"THEN:GOSUB65,PRUEF 1216 :IFA$="[137]"THEN:GOSUB585:GOTO1200 1219 :IFA$="/"ORA$="."ORA$=","ORA$="M"THEN:GOSUB1300,TIPP 1230 :IFD=89ORD=217THEN:A=53281:POKEA,PEEK(A)-SGN(D-99)AND15:F1=PEEK(A) 1231 :IFD=85ORD=213THEN:A=53280:POKEA,PEEK(A)-SGN(D-99)AND15:F0=PEEK(A) 1232 :ON-(D=3)GOTO1180:IFA$="_"ORA$="H"GOTO5000,HILFE 1233 :IFA$="\"THEN:GOSUB650:GOTO1000 1234 :IFA$="O"ORA$="P"THEN:FA=FA+1+2*(A$<>"O")AND15:GOSUB600:GOTO1000 1235 :IFA$="@"ORA$="*"THEN:V=.:GOSUB900:IFJ=.THENGOSUB944,SAVE 1239 : 1240 :D=D-64:IFD>.ANDD<4THEN:S=-(D=1)*34-(D=2)*44-(D=3)*54:GOSUB1190 1244 :IFD=4THEN:GOSUB1310,ZAHL 1245 :IFD=5THEN:GOSUB534:GOSUB250,AUFDECKEN 1246 :IFD=6THEN:GOSUB590,-MARKIEREN 1247 :IFD=7THEN:GOSUB580,-ABC-WEG 1250 :GOTO1210 1299 : 1300 :ON-(IJ<1)GOTO11:REM--ANZEIG 1301 :B=I%(IJ):C=J%(IJ):IFD(B,C)=D(B+10,C)THEN:GOSUB1303:GOTO1300 1302 :PRINT""TAB(27)B"[157]";-C"[157]:"CHR$(D(B+10,C))"[146] "CHR$(64+E%(IJ)) 1303 :IJ=IJ+(IJ>.):RETURN 1309 : 1310 :PRINT""TAB(21)S"[157] "::GOSUB20:IFA$=""ORA$="[145]"THEN:S=S-(S<81):GOTO1310 1311 :ON1-(A$="[157]"ORA$="")GOTO1190:S=S+(S>10):GOTO1310 1319 : 1999 : 3999 : 4998 : 4999 : 5000 :POKE53265,11:REM---ANLEITUNG 5010 :IFPEEK(648)<204ORPEEK(53272)<>53THEN:GOSUB9500:CLR 5100 :POKE53280,11:POKE53281,11:PRINT"[152]";:GOSUB90 5102 :PRINT"[142][146]: SUDOKU :[152][146] HALLO, 5103 :[153]"FLISTREUNDEDESZUDECKUNDABZ]HL-R]TSELS. 5104 :PRINT 5105 :PRINT"[159] DIE REGELN SIND EINFACH [155][146]" 5106 :PRINT"I[155]N EINER ZEILE (VON LINKS NACH RECHTS) 5107 :[153]"IN EINER SPALTE (VON OBEN NACH UNTEN) 5108 :PRINT"IN EINEM KASTEN (3X3) BEFINDEN SICH 5109 :[153]"DIE ZIFFERN VON EINS BIS NEUN (1-9). 5110 :PRINT 5111 :PRINT"D[155]AVON WIRD DANN EINE BESTIMMTE ANZAHL 5112 :[153]"VOM RECHNER VERDECKT, DIE DER RATER 5113 :PRINT"MIT @BERLEGUNG WIEDER AUFDECKEN MU\. 5114 :[153] 5115 :[143]NT 5116 :[153]"PRINT DABEI GIBT ES FOLGENDE HILFEN LIST" 5117 :[153]"(F7) ANZEIGE DER FEHLERZAHL 5118 :PRINT"(F8) MARKIEREN DER FEHLER 5119 :[153]"(G ) L[SCHEN DER A-Z PLATZHALTER 5120 :PRINT"(M.) TIPP GEBEN LASSEN 5121 :[153]"DLISTAR@BERHINAUS KANN MAN SICH AM RAND 5122 :PRINT"NOTIZEN MACHEN UND DIE ZEICHENFARBE 5123 :[153]"MIT (CTRL/CBM/TAB 1-8) BESTIMMEN. 5124 :PRINT 5150 POKE213,40:PRINT"[152] *** DIRK-BREITINGER FREISOFT(2008) *** " 5200 :POKE53265,27:ON-(S=.)GOSUB9000:B=80:GOSUB70:GOTO1000 5998 : 5999 : 9000 :REM---VORBEREIT 9005 :GOSUB940:IF(S)GOTO640 9010 :DIM I,J,A,B,C,D,S,N,V,A$,B$,C$,D$,E$,F$,L$,X,Y,W,Z 9020 :S=-34:FA=1 9030 :DEFFNR(A)=INT(RND(1)*A+1) 9031 :DEFFNA(A)=INT((I-1)/3)*3+(J-1)/3+1 9032 :DEFFNB(A)=SGN(AAND16)+SGN(AAND8)+SGN(AAND4)+SGN(AAND2)+(AAND1) 9033 :DEFFNC(A)=FNB(A)+FNB(A/32) 9035 :DEFFNP(A)=PEEK(A)+PEEK(A+1)*256 9050 :GOSUB554:GOSUB550:GOSUB530,FUELL 9060 :GOSUB400:GOTO600 9098 : 9099 : 9100 : 9140 :DATA2,1,8,5,9,6,7,4,3 9141 :DATA7,6,9,2,3,4,5,1,8 9142 :DATA3,5,4,8,7,1,6,2,9 9143 :DATA4,9,1,3,6,5,8,7,2 9144 :DATA8,2,3,4,1,7,9,6,5 9145 :DATA6,7,5,9,2,8,4,3,1 9146 :DATA9,4,7,1,8,2,3,5,6 9147 :DATA1,3,6,7,5,9,2,8,4 9148 :DATA5,8,2,6,4,3,1,9,7 9198 : 9199 : 9200 :1,3,9,4,7,6,5,8,2: 9201 :4,8,7,5,2,1,9,3,6: 9202 :5,6,2,8,3,9,4,1,7: 9203 :6,2,5,1,8,3,7,4,9: 9204 :9,4,3,6,5,7,1,2,8: 9205 :8,7,1,9,4,2,6,5,3: 9206 :2,9,4,3,6,5,8,7,1: 9207 :3,5,6,7,1,8,2,9,4: 9208 :7,1,8,2,9,4,3,6,5: 9298 : 9299 : 9300 : 9400 : 9500 :REM----ZEICHEN-INSTALL 9520 :GOSUB9550,COPY 9530 :A=53248:REM--ZEICHEN-POKE 9531 :H=A:C=PEEK(1):POKE56334,.:POKE1,51 9532 :FORA=ATO65535:READB:IFB>=.ANDB<256THEN::POKEA,B:POKEA+1024,255-B:GOTO9534 9533 :A=B-1:IFB<.THEN:A=H+8*INT(ABS(B))-1:IFB=-.11THEN:A=66000 9534 :NEXT:POKE1,C:POKE56334,1:RETURN 9539 : 9540 : 9550 :REM--ROM/RAM,BILD:52224,SATZ:53248 9551 :POKE56334,.:POKE88,.:POKE89,.:POKE90,.:POKE91,.:POKE781,97:POKE782,. 9552 :POKE1,PEEK(1)-4:SYS41971:POKE1,53:POKE56334,1 9553 :POKE646,PEEK(53281):POKE648,204:SYS58692:POKE53272,53:POKE56576,196 9554 :A=43039:POKEA,61:POKEA+2,.:POKEA+4,62:RESTORE:RETURN:--RESTORE ZEILE 9559 : 9560 :REM---UMLAUT-DATEN EINFUEGEN 9563 ::DATA-29,36 ,60,102,126,102,102,102,:-AE 9564 ::DATA-27,36,60,102,102,102,102,60,:-OE 9565 ::DATA-.1,36,102,102,102,102,102,60,:-UE 9566 ::DATA-28,60,102,102,108,102,102,108,96,-.11:-SZ 9567 : 9899 : 9900 :GOSUB9997:REM--PRG ABSCHNEIDEN(A) 9910 :POKEA,.:POKEA+1,.:A=A+2:POKE9,A/256:POKE45,A-PEEK(9)*256:POKE46,PEEK(9) 9920 :RETURN 9997 DEFFN P(A)=PEEK(A)+PEEK(A+1)*256 9998 A=FNP(FNP(61)+1):E=FNP(45)-1:RETURN:REM---LETZTE ZEILE